package org.jeecg.modules.product.basics.vo;

import java.util.List;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.jeecg.modules.product.basics.entity.TbPeopleCertificate;
import org.jeecg.modules.product.basics.entity.TbPeopleEducationTraining;
import org.jeecg.modules.product.basics.entity.TbPeopleRewardsPunishments;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;


/**
 * @Description: 人员档案信息
 * @Author: jeecg-boot
 * @Date:   2024-07-07
 * @Version: V1.0
 */
@Data
@Schema(description="人员档案信息")
public class TbPeoplePage {

	/**主键*/
	@Schema(description = "主键")
    private String id;
	/**创建人*/
	@Schema(description = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@Schema(description = "创建日期")
    private Date createTime;
	/**更新人*/
	@Schema(description = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@Schema(description = "更新日期")
    private Date updateTime;
	/**所属部门*/
	@Schema(description = "所属部门")
    private String sysOrgCode;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
	@Schema(description = "姓名")
    private String name;
	/**性别*/
	@Excel(name = "性别", width = 15, dicCode = "sex")
    @Dict(dicCode = "sex")
	@Schema(description = "性别")
    private String sex;
	/**工号*/
	@Excel(name = "工号", width = 15)
	@Schema(description = "工号")
    private String workNo;
	/**账号*/
	@Excel(name = "账号", width = 15)
	@Schema(description = "账号")
    private String userName;
	/**所属部门*/
	@Excel(name = "所属部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@Schema(description = "所属部门")
    private String belongingDepart;
	/**所属岗位*/
	@Excel(name = "所属岗位", width = 15, dictTable = "sys_position", dicText = "name", dicCode = "id")
    @Dict(dictTable = "sys_position", dicText = "name", dicCode = "id")
	@Schema(description = "所属岗位")
    private String workPosition;
	/**角色*/
	@Excel(name = "角色", width = 15, dictTable = "sys_role", dicText = "role_name", dicCode = "id")
    @Dict(dictTable = "sys_role", dicText = "role_name", dicCode = "id")
	@Schema(description = "角色")
    private String roles;
	/**手机号*/
	@Excel(name = "手机号", width = 15)
	@Schema(description = "手机号")
    private String phone;
	/**民族*/
	@Excel(name = "民族", width = 15)
	@Schema(description = "民族")
    private String minzu;
	/**证件类型*/
	@Excel(name = "证件类型", width = 15, dicCode = "cardType")
    @Dict(dicCode = "cardType")
	@Schema(description = "证件类型")
    private String cardType;
	/**证件号码*/
	@Excel(name = "证件号码", width = 15)
	@Schema(description = "证件号码")
    private String cardCode;
	/**邮编*/
	@Excel(name = "邮编", width = 15)
	@Schema(description = "邮编")
    private String postcode;
	/**邮箱*/
	@Excel(name = "邮箱", width = 15)
	@Schema(description = "邮箱")
    private String email;
	/**最高学历*/
	@Excel(name = "最高学历", width = 15, dicCode = "educationalBackground")
    @Dict(dicCode = "educationalBackground")
	@Schema(description = "最高学历")
    private String educationalBackground;
	/**毕业院校*/
	@Excel(name = "毕业院校", width = 15)
	@Schema(description = "毕业院校")
    private String school;
	/**户籍所在地*/
	@Excel(name = "户籍所在地", width = 15)
	@Schema(description = "户籍所在地")
    private String domicile;
	/**工作经历*/
	@Excel(name = "工作经历", width = 15)
	@Schema(description = "工作经历")
    private String workExperience;
	/**本人照片*/
	@Excel(name = "本人照片", width = 15)
	@Schema(description = "本人照片")
    private String photograph;
	/**签名图片*/
	@Excel(name = "签名图片", width = 15)
	@Schema(description = "签名图片")
    private String signature;
	/**租户id*/
	@Excel(name = "租户id", width = 15)
	@Schema(description = "租户id")
    private Integer tenantId;

	@ExcelCollection(name="人员证书")
	@Schema(description = "人员证书")
	private List<TbPeopleCertificate> tbPeopleCertificateList;
	@ExcelCollection(name="教育培训")
	@Schema(description = "教育培训")
	private List<TbPeopleEducationTraining> tbPeopleEducationTrainingList;
	@ExcelCollection(name="奖惩记录")
	@Schema(description = "奖惩记录")
	private List<TbPeopleRewardsPunishments> tbPeopleRewardsPunishmentsList;

}
